home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.19981211-19990422 / 000398_news@watsun.cc.columbia.edu _Mon Mar 22 11:46:01 1999.msg < prev    next >
Internet Message Format  |  2020-01-01  |  3KB

  1. Return-Path: <news@watsun.cc.columbia.edu>
  2. Received: from newsmaster.cc.columbia.edu (newsmaster.cc.columbia.edu [128.59.59.30])
  3.     by watsun.cc.columbia.edu (8.8.5/8.8.5) with ESMTP id LAA25771
  4.     for <kermit.misc@watsun.cc.columbia.edu>; Mon, 22 Mar 1999 11:46:00 -0500 (EST)
  5. Received: (from news@localhost)
  6.     by newsmaster.cc.columbia.edu (8.8.5/8.8.5) id LAA03469
  7.     for kermit.misc@watsun.cc.columbia.edu; Mon, 22 Mar 1999 11:20:22 -0500 (EST)
  8. X-Authentication-Warning: newsmaster.cc.columbia.edu: news set sender to <news> using -f
  9. From: dn5006@my-dejanews.com
  10. Subject: Matrix Operations in Kermit 95
  11. Date: Mon, 22 Mar 1999 16:12:25 GMT
  12. Organization: Deja News - The Leader in Internet Discussion
  13. Message-ID: <7d5q50$p86$1@nnrp1.dejanews.com>
  14. To: kermit.misc@watsun.cc.columbia.edu
  15.  
  16. ; MATRIX IS AN ESSENTIAL ELEMENT OF MANY COMPUTING AREAS.
  17. ; KERMIT 95 CAN DO MATRIX OPERATIONS PLEASENTLY EASILY.
  18. ; THE FOLLOWING SCRIPT CREATES TWO MATRICES A AND B,
  19. ; THEN COMPUTES THEIR SUM: MATRIX C.
  20. ; THE USER-DEFINED FUNCTION display_matrix REQUIRES ONLY
  21. ; THE NAME OF THE MATRIX. THE SAME IS WITH undefine_matrix.
  22.  
  23. assign row 4
  24. assign col 9
  25.  
  26. ; CREATE MATRIX A AND MATRIX B
  27. for \%r 1 \m(row) 1 {
  28.     for \%c 1 \m(col) 1 {
  29.         _assign A[\%r][\%c] \feval(\%r + \%c)
  30.         _assign B[\%r][\%c] \feval(\%r * \%c)
  31.     }
  32. }
  33.  
  34. ; CREATE MATRIX C = SUM OF MATRIX A AND MATRIX B
  35. for \%r 1 \m(row) 1 {
  36.     for \%c 1 \m(col) 1 {
  37.         _assign C[\%r][\%c]-
  38.         \feval(\m(A[\%r][\%c]) + \m(B[\%r][\%c]))
  39.     }
  40. }
  41.  
  42. ; GIVEN THE NAME OF A MATRIX, DISPLAY IT IN ROWS & COLUMNS
  43. ; NO NEED FOR THE DIMENSION OF THE MATRIX
  44. define display_matrix {
  45.     local \%r \%c \%z
  46.     assign \%r 1
  47.     assign \%c 1
  48.     while define \m(\%1[\%r][\%c]) {
  49.         while define \m(\%1[\%r][\%c]) {
  50.             assign \%z \%z \m(\%1[\%r][\%c])
  51.             increment \%c
  52.         }
  53.         echo \%z
  54.         undefine \%z
  55.         increment \%r
  56.         assign \%c 1
  57.     }
  58. }
  59.  
  60. echo Matrix A
  61. display_matrix A
  62.  
  63. echo Matrix B
  64. display_matrix B
  65.  
  66. echo Matrix A + Matrix B
  67. display_matrix C
  68.  
  69. ; GIVEN THE NAME OF A MATRIX, UNDEFINE IT.
  70. ; NO NEED FOR THE DIMENSION OF THE MATRIX
  71. define undefine_matrix {
  72.     local \%r \%c \%z
  73.     assign \%r 1
  74.     assign \%c 1
  75.     while define \m(\%1[\%r][\%c]) {
  76.         while define \m(\%1[\%r][\%c]) {
  77.             _define \%1[\%r][\%c]
  78.             increment \%c
  79.         }
  80.         increment \%r
  81.         assign \%c 1
  82.     }
  83. }
  84.  
  85. undefine_matrix A
  86. undefine_matrix B
  87. undefine_matrix C
  88.  
  89.  
  90.  
  91. Dat Nguyen
  92. Airline Telecommunications and Information Services
  93. 770 Sherbrooke West
  94. Montreal, Quebec
  95. Canada H3A 1G1
  96. Email dat.nguyen&sita.int
  97.  
  98. -----------== Posted via Deja News, The Discussion Network ==----------
  99. http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own